from .planning import PlanningAgent
from ..tool.python_exec import PythonExecute
from ..tool.web_search import WebSearch

class Manus(PlanningAgent):
    """
    Manus类继承自PlanningAgent，用于执行包含Python代码执行和网络搜索的规划任务。
    """
    def __init__(self):
        """
        初始化Manus类，添加Python执行和网络搜索工具。
        """
        super().__init__()  # 初始化父类PlanningAgent
        self.add_tool(PythonExecute, PythonExecute())  # 添加Python执行工具
        self.add_tool(WebSearch, WebSearch())  # 添加网络搜索工具

    def run(self, user_query: str):
        """
        根据用户输入执行规划流程
        :param user_query: 用户输入的查询内容
        """
        try:
            self.create_initial_plan(user_query)  # 根据用户查询创建初始规划
            super().run()  # 调用父类的run方法执行规划
        except Exception as e:
            print(f"[Error] 执行过程中发生异常: {e}")
            # 可根据需求记录日志或重新抛出异常
